home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / Dev / Oberon / source / amiga / ClipBoard.mod < prev    next >
Text File  |  1995-06-29  |  3KB  |  98 lines

  1. (***************************************************************************
  2.  
  3.      $RCSfile: ClipBoard.mod $
  4.   Description: clipboard.device structure definitions
  5.  
  6.    Created by: fjc (Frank Copeland)
  7.     $Revision: 3.8 $
  8.       $Author: fjc $
  9.         $Date: 1995/06/04 23:13:14 $
  10.  
  11.   $VER: clipboard.h 36.5 (2.11.90)
  12.   Includes Release 40.15
  13.  
  14.   (C) Copyright 1985-1993 Commodore-Amiga, Inc.
  15.       All Rights Reserved
  16.  
  17.   Oberon-A interface Copyright © 1994-1995, Frank Copeland.
  18.   This file is part of the Oberon-A Interface.
  19.   See Oberon-A.doc for conditions of use and distribution.
  20.  
  21. ***************************************************************************)
  22.  
  23. <* STANDARD- *>
  24.  
  25. MODULE [2] ClipBoard;
  26.  
  27. IMPORT e := Exec, s := Sets;
  28.  
  29. CONST
  30.  
  31.   post *                = e.nonstd+0;
  32.   currentReadId *       = e.nonstd+1;
  33.   currentWriteId *      = e.nonstd+2;
  34.   changeHook *          = e.nonstd+3;
  35.  
  36.   obsoleteId *        = 1;
  37.  
  38. TYPE
  39.  
  40.   ClipboardUnitPartialPtr * = POINTER TO ClipboardUnitPartial;
  41.   ClipboardUnitPartial * = RECORD (e.NodeBase)
  42.     node *    : e.Node;                    (* list of units *)
  43.     unitNum * : e.ULONG;                   (* unit number for this unit *)
  44.     (* the remaining unit data is private to the device *)
  45.   END; (* ClipboardUnitPartial *)
  46.  
  47.  
  48. TYPE
  49.  
  50.   IOClipReqBase *= RECORD (e.MessageBase) END;
  51.   IOClipReqBasePtr *= POINTER TO IOClipReqBase;
  52.  
  53.   IOClipReqPtr * = POINTER TO IOClipReq;
  54.   IOClipReq * = RECORD (IOClipReqBase)
  55.     message * : e.Message;
  56.     device *  : e.DevicePtr;   (* device node pointer *)
  57.     unit *    : ClipboardUnitPartialPtr; (* unit node pointer *)
  58.     command * : e.UWORD;       (* device command *)
  59.     flags *   : s.SET8;        (* including QUICK and SATISFY *)
  60.     error *   : SHORTINT;      (* error or warning num *)
  61.     actual *  : e.ULONG;       (* number of bytes transferred *)
  62.     length *  : e.ULONG;       (* number of bytes requested *)
  63.     data *    : e.APTR;        (* either clip stream or post port *)
  64.     offset *  : e.ULONG;       (* offset in clip stream *)
  65.     clipID *  : LONGINT;       (* ordinal clip identifier *)
  66.   END; (* IOClipReq *)
  67.  
  68. CONST
  69.  
  70.   primaryClip *    = 0;       (* primary clip unit *)
  71.  
  72. TYPE
  73.  
  74.   SatisfyMsgPtr * = POINTER TO SatisfyMsg;
  75.   SatisfyMsg * = RECORD (e.MessageBase)
  76.     message * : e.Message;           (* the length will be 6 *)
  77.     unit *    : e.UWORD;             (* which clip unit this is *)
  78.     clipID *  : LONGINT;             (* the clip identifier of the post *)
  79.   END; (* SatisfyMsg *)
  80.  
  81. TYPE
  82.  
  83.   ClipHookMsgPtr * = POINTER TO ClipHookMsg;
  84.   ClipHookMsg * = RECORD
  85.     type *      : e.ULONG; (* zero for this structure format *)
  86.     changeCmd * : LONGINT; (* command that caused this hook invocation: *)
  87.                            (*   either cmdUpdate or cbdPost *)
  88.     clipID *    : LONGINT; (* the clip identifier of the new data *)
  89.   END; (* ClipHookMsg *)
  90.  
  91.  
  92. CONST
  93.  
  94.   clipboardName * = "clipboard.device";
  95.  
  96.  
  97. END ClipBoard.
  98.